The present invention relates to the field of steganography and in particular to steganography using an indexed color image.
Digital images are becoming more and more commonplace, and nowhere are these images more prevalent than on the Internet""s World Wide Web. The vast majority of today""s World Wide Web pages are decorated with color images and, thus, people browsing through the Web no longer pay special attention to sites containing images or to the downloading of image data from the Web.
The abundance of digital images posted on the World Wide Web has led to the development of steganographic, or information hiding, programs aimed at invisibly marking copyrighted images to aid in enforcement of the copyright by the copyright owner. In recent years, several steganographic programs have been posted on the World Wide Web. Most of these programs use image data for the container, or carrier, of the confidential information and some use the least significant bits of the image data to hide the confidential information. Other programs embed the confidential information in a specific band of the spatial frequency component of the carrier, while still others make use of the sampling error in image digitization. However, each of these steganographic methods have a relatively small information hiding capacity, allowing only 5-15% of the carrier image to hide information. This capacity is generally sufficient for xe2x80x9cwater markingxe2x80x9d or placing a digital xe2x80x9csignaturexe2x80x9d onto computer data, but is generally insufficient for confidential human-to-human communications applications.
The explosion of the Internet has also increased concerns by network users over the security of Internet communications. For example, Internet e-mail is not a reliable means for sending confidential messages as these communications are easily intercepted. This ease of interception has led to the development and commercial distribution of many encryption programs. However, there are some cases when a user may wish to send a message to a person without the fact that a message has been sent being noticed by anyone else. Encrypting the message cannot solve this problem as encryption can hide the content of the message, but cannot hide the message data itself. Thus, anyone can intercept the xe2x80x9cunreadable messagexe2x80x9d and know that a message has been transmitted between the parties. Though appearing to be innocuous, this type of information may be very important to people such as unscrupulous business competitors or securities dealers, or even to organized crime figures, who may be keeping the sender or receiver under surveillance. Therefore, there is a need for a way to transmit data without the risk of another intercepting either the content of the message or the fact that a message has been sent.
There are many types of image files that are commonly used in computers today. One group of image files are indexed color images, which utilizes a so-called xe2x80x9cColor Index Tablexe2x80x9d to represent each pixel value, relating to color and brightness, in an indirect way. The image file in this image format carries two parts, a color index table and an index number array, sometimes referred to as an index value array. The color index table specifies a limited number of representative colors needed for representing the given image, and it also associates a unique index number for each color. The array of index numbers in indexed color image format corresponds to the pixel array in the image. It represents each pixel value by specifying the index number. A typical color index table uses no more than 256 different representative colors. Therefore, 8 bits can describe the index numbers. This means that the image data has 8 bits, which saves the computer memory for image storing and shortens the sending/receiving time through the Internet. Therefore, it is a considerable merit to use an indexed color image instead of a true color image that normally has 24 bits for each pixel. The disadvantage of using an indexed color image is that the image quality might not be quite as good as that of a true color image.
When image based steganography is used for confidential communication, a true color based technique may not be provide the desired level of secrecy, as people do not usually use such large image files. Accordingly, the transmission of a large image file might draw special attention from the people who see it. Conversely, an indexed color image in which information is steganographically embedded is less likely to draw attention. Therefore, there is a need for a method for performing steganography upon color images and, in particular, upon indexed color based images.
The present invention is a method for hiding confidential, or other, information in an indexed color image that is not only based on a programming technique, but also on a property of the human vision system. The present invention is useful for the transmission and reception of secure confidential communications where the data hiding capacity is not the primary concern.
The method of the present invention involves altering of color image data, such that the embedding of data does not cause a large color change in the representing image, and hiding information within the image using an information hiding method. One such method is the Bit Plane Complexity Segmentation Steganographic method, disclosed in the Applicants"" co-pending patent application Ser. No. 09/316,883, titled LARGE CAPACITY STEGANOGRAPHY, which is hereby incorporated by reference. It is understood that other methods, such as the related PDCS method also disclosed in the above referenced application, may be utilized to achieve similar results. However, for purposes of illustration, the BPCS steganography method will be used herein when referring to information hiding methods.
The art of BPCS steganography lies in the fact that the human vision system can not perceive any meaningful information in the complex areas of each bit plane of an image. Complex areas are prevalent in less significant bit planes of an image. In natural images, such as digital photographs, these occur in low bit planes. BPCS steganography replaces bits of complex areas of the image with confidential, or other, information, leaving no visual evidence of the replacement.
In the BPCS method, the carrier image is called a xe2x80x9cdummyxe2x80x9d image or a xe2x80x9cvesselxe2x80x9d image. Each confidential file is segmented into a series of blocks having 8 bytes data each that are regarded as 8xc3x978 image patterns. These blocks are called confidential blocks. The algorithm for embedding a file into a dummy image using the BPCS method involves the following steps:
1) Transforming the dummy image from a Pure-Binary Coding system (PBC) image to a Canonical Gray Coding system (CGC) image.
2) Segmenting each bit-plane of the dummy image into informative and noise-like regions by using a threshold value (xcex10); with a typical value being xcex10=0.3.
3) Arranging the confidential file into a series of confidential blocks.
4) If a block (S) is less complex than the threshold (xcex10 less than 0.5), then conjugating to make it a block (S*) that is more complex than 1-xcex10. This conjugation may, for example, be performed via an exclusive xe2x80x9cORxe2x80x9d process on the region with a checkerboard pattern, such as is described in the Applicant""s co-pending patent application Ser. No. 09/316,883, titled LARGE CAPACITY STEGANOGRAPHY.
5) Embedding each confidential block into the noise-like regions of the bit-planes (or, replacing all the noise-like regions with a series of confidential blocks). If the block is conjugated, then recording it in a xe2x80x9cconjugation map.xe2x80x9d
6) Embedding the conjugation map after the confidential file-embedding step.
7) Converting the embedded dummy image from CGC to PBC.
The decoding algorithm for performing the extracting operation of the confidential information from an embedded dummy image is simply the reverse procedure of the embedding steps.
In an indexed color image, however, the complex areas in each bit plane of the image, represented by the two-dimensional data array of color index numbers, do not correspond to the complex areas of the representing image. Furthermore, small changes in index value caused by embedding can cause extreme changes in color. Therefore, the BPCS steganographic method cannot be directly applied to indexed color images.
The present invention allows confidential, or other, information to be embedded within an indexed color image. This embedding may be accomplished by rearranging the color index table of an original indexed color image into a new color-index table where complex areas of the new indexed color image relatively correspond to the complex areas in the bit plane of the representing image. However, in the preferred embodiment of the invention, the embedding is accomplished by rearranging a color set of the original image and applying the BPCS steganographic method to the rearranged image.
Therefore, it is an aspect of the invention to provide an indexed color image with a method to make it available for BPCS steganographic techniques to hide confidential information.
It is a further aspect of the invention to provide a steganographic method that prevents third parties from becoming suspicious about the image being hidden with some data other than the obvious image data itself.
It is a further aspect of the invention to provide a method that can hide confidential information in an invisible way for use in applications for sending or storing information.
These aspects of the invention are not meant to be exclusive and other features, aspects, and advantages of the present invention will be readily apparent to those of ordinary skill in the art when read in conjunction with the following description, appended claims and accompanying drawings.